In order to implement such an operational management, it is useful to be able to intervene in the execution of the managed application, for example in order to analyse or modify its functioning. It is in particular useful to have techniques available for recording events occurring within this application, in order to be able to replay them, i.e. re-execute them or cause them to be produced in the same fashion, at another moment or on another node or computer.
Now, if an application used in operation has not been designed from the start to produce such a management, it is difficult and costly to add such functions to it later, and this is a significant risk of errors. For all existing applications, it is particularly useful to be able to implement such an operational management without editing their executable files, and at the same time keeping them in their original version (“legacy applications”).
Methods already exist which allow the dynamic loading of code into an executable, which constitutes a critical element of the method. We list them below, and indicate some of their limitations.                Pre-loading of a library by the dynamic link editor. During the execution of an executable for editing dynamic links, it is possible to preload, by the specification of an environment variable, a library not required in the addressable memory space of the program. In particular, this method is not applied to executables for editing a static link.        Loading a library by using the existing system call “ptrace” from a third party process. This method is that used by debuggers in order to alter the execution of a process. It is based on the presence of debug symbols in the binary of the executable in order to allow the invocation of functions. The library loading function, termed “dlopen” in Linux, must already be present in the executable, which is not always the case (and rare in the case of static executables).        
These methods, as well as the limitations which they include for the insertion of code into processes during execution, do not alone guarantee correct functioning of the executable if the code inserted must be deleted later.
Such methods often resort to considering that the code parts thus inserted are done so permanently, which then poses potential problems of interference between the inserted code and the original executable.
Certain methods of dynamic interposition are also described in patent no. FR 2 843 210 by the same inventors, but allow above all intervening during the execution of a system call. These techniques can be insufficient to intervene in instructions not producing a system call.